home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / os20 / wb / toolmanager2_0.lha / ToolManager / Programmers / modula / ToolManagerD.def next >
Text File  |  1992-09-26  |  3KB  |  143 lines

  1. DEFINITION MODULE ToolManagerD; (*$ Implementation:=FALSE *)
  2.  
  3.  
  4.  
  5. (*
  6.  * libraries/toolmanager.h  V2.0
  7.  *
  8.  * shared library include file
  9.  *
  10.  * (c) 1990-1992 Stefan Becker
  11.  *)
  12.  
  13. (*
  14.  * M2Amiga Modula-2 declaration
  15.  *
  16.  * (FreeWare) 1992 JOW
  17.  *)
  18.  
  19. IMPORT UD:UtilityD;
  20. IMPORT ID:IntuitionD;
  21. IMPORT S:SYSTEM;
  22.  
  23.  
  24.  
  25. CONST
  26.   tmName="toolmanager.library";
  27.  
  28.  
  29.  
  30. (* ToolManager Object Types
  31. TYPE
  32.   TMObjType=(otExec,otImage,otSound,otMenu,otIcon,otDock);
  33. *)
  34. CONST
  35.   otExec=0;
  36.   otImage=1;
  37.   otSound=2;
  38.   otMenu=3;
  39.   otIcon=4;
  40.   otDock=5;
  41.  
  42.  
  43.  
  44. (* internal handle structure, PRIVATE *)
  45. TYPE
  46.   TMHandlePtr=S.ADDRESS;
  47.  
  48.  
  49.  
  50. (* ToolManager Object Properties (see Object.doc) *)
  51.  
  52.   (* Type: TMOBJTYPE_EXEC *)
  53.   OTExecTags=
  54.     (opArguments:=UD.tagUser+1,
  55.      opCommand,       (* Also used for TMOBJTYPE_SOUND    *)
  56.      opCurrentDir,
  57.      opDelay,
  58.      opExecType,
  59.      opHotKey,        (* Also used for TMOBJTYPE_DOCK     *)
  60.      opOutput,
  61.      opPath,
  62.      opPriority,
  63.      opPubScreen,     (* Also used for TMOBJTYPE_DOCK *)
  64.      opStack,
  65.      opToFront);
  66.  
  67.   (* Type: TMOBJTYPE_IMAGE *)
  68.   OTImageTags=
  69.     (opFile:=UD.tagUser+257,
  70.      opData);
  71.  
  72.   (* Type: TMOBJTYPE_SOUND *)
  73.   OTSoundTags=
  74.     (opPort:=UD.tagUser+513);
  75.  
  76.   (* Type: TMOBJTYPE_MENU/ICON *)
  77.   OTMenuIconTags=
  78.     (opExec:=UD.tagUser+769,
  79.      opSound);
  80.  
  81.   (* Type: TMOBJTYPE_ICON *)
  82.   OTIconTags=
  83.     (opImage:=UD.tagUser+1025,
  84.      opShowName);
  85.  
  86.   (* Type: TMOBJTYPE_ICON/DOCK *)
  87.   OTIconDockTags=
  88.     (opLeftEdge:=UD.tagUser+1281,
  89.      opTopEdge);
  90.  
  91.   (* Type: TMOBJTYPE_DOCK *)
  92.   OTDockTags=
  93.     (opActivated:=UD.tagUser+1536,
  94.      opCentered,
  95.      opColumns,
  96.      opFont,
  97.      opFrontMost,
  98.      opMenu,
  99.      opPattern,
  100.      opPopUp,
  101.      opText,
  102.      opTitle,
  103.      opTool,
  104.      opVertical);
  105.  
  106.  
  107.  
  108. (* Types for TMOP_ExecType *)
  109. TYPE
  110.   ExecTypes=(etCLI,etWB,etARexx,etHook);
  111.  
  112.  
  113.  
  114. (* Data structures for storing image sequences (tmotImage/tmopData)        *)
  115. (* TMImageNode contains the data for ONE picture. Several nodes are joined *)
  116. (* into a single-linked chain via TMImageNode.next                         *)
  117. TYPE
  118.   TMImageNodePtr=POINTER TO TMImageNode;
  119.   TMImageNode=
  120.     RECORD
  121.       next: TMImageNodePtr;     (* pointer to next node *)
  122.       data: S.ADDRESS;          (* MEMF_CHIP memory!!   *)
  123.     END;
  124.  
  125.  
  126.  
  127. (* TMImageData contains information about the image data, like sizes etc.   *)
  128. (* You MUST initialize BOTH Image structures and they MUST BE identical     *)
  129. (* except of the ImageData pointer. normal.ImageData should point to   *)
  130. (* an image data which shows the inactive state and tmid_Selected.ImageData *)
  131. (* should point to an image which shows the active state.                   *)
  132. TYPE
  133.   TMImageData=
  134.     RECORD
  135.       normal: ID.ImagePtr;      (* inactive state       *)
  136.       selected: ID.ImagePtr;    (* active state         *)
  137.       data: TMImageNodePtr;     (* chain of images      *)
  138.     END;
  139.  
  140.  
  141.  
  142. END ToolManagerD.def
  143.